#pragma once
#include <string>
#include <sstream>
#include <iostream>
#include "XMLWrappeCommon.h"
#include "XCAPXMLWrapper.h"

class CXCAPPersonInfoWrapperFactory;

class CXCAPPersonInfoWrapper: public CXCAPXMLWrapper
{
	friend class CXCAPPersonInfoWrapperFactory;
public:
 	//virtual std::string GetRequestURI(const std::string& root);
	virtual bool GetContactInfo(ContactInfo& contactInfo) =  0;
	virtual bool GetPersonData(PersonData& personData) = 0;
	virtual bool GetUserPreference(UserPreference& userPreference) = 0;
	virtual bool GetResourceListUri(std::string& uri) = 0;
	virtual bool SetContactInfo(ContactInfo& contactInfo) =  0;
	virtual bool SetPersonData(PersonData& personData) = 0;
	virtual bool SetUserPreference(UserPreference& userPreference) = 0;
	virtual bool SetResourceListUri(std::string& uri) = 0;
public:
	CXCAPPersonInfoWrapper(std::string auid, std::string document_name, std::string mime_type);
	~CXCAPPersonInfoWrapper(void);
};
